package placa;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author jose.silva
 */
public class ArquivoTexto {
    
    private String path;

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public boolean gravar(String texto) {
        if (getPath() == null || getPath().isEmpty()) {
            return false;
        }
        File arquivo = new File(getPath()); //Identifica (aponta) o arquivo que vai ser manipulado

        try {
            FileWriter fw = new FileWriter(arquivo, true); //Abrir o arquivo para gravação com append
            BufferedWriter bw = new BufferedWriter(fw);// Define o conteudo que sera gravado
            bw.write(texto);//Grava no final do arquivo
            bw.write("\n");//Grava no final do arquivo 
            bw.close();//Fecha o arquivo
            return true;
        } catch (Exception ex) {
            return false;
        }

    }

    public List<String> carregar() {
        if (getPath() == null || getPath().isEmpty()) {
            return null;
        }
        File arquivo = new File(getPath());
        if (!arquivo.exists()) {
            return null;
        }

        List<String> dados = new ArrayList<String>();
        try {
            FileReader fr = new FileReader(arquivo);
            BufferedReader br = new BufferedReader(fr);
            String linha = "";
            do {
                linha = br.readLine();
                if (linha != null) {
                    dados.add(linha);
                }
            } while (linha != null);
            br.close();
            return dados;
        } catch (Exception ex) {
            return null;
        }


    }
    
    public boolean renomear(String novoPath){
        
        File antigo = new File (getPath());
        File novo = new File(novoPath);
        
        return (antigo.renameTo(novo));
       
        
    }
}
